﻿
//#region SUB-ABA 1 
function PesquisarUnidadeOperacional() {

    var value = $(event.target).val();

    if (value) {

        $.ajax({
            url: URL_BASE + "UnidadeOperacional/PesquisarUnidadeOperacional",
            data: {
                ufId: value
            },
            success: function (result) {

                if ($(result).find("option").length > 1) {
                    $("#UnidadeOperacionalSelectList").empty().html(result);
                } else {
                    var obj = $("unidadeOperacionalId").attr('readonly', 'readonly');
                    $(obj).find("option:not(':first')").remove();
                }

            }
        });

    } else {

        var obj = $("unidadeOperacionalId").attr('readonly', 'readonly');
        $(obj).find("option:not(':first')").remove();

    }

}

function LiberarConsultarProduto() {

    if ($(event.target).val()) {

        $(".produtoNomeId").removeAttr('disabled');

    } else {

        $(".produtoNomeId").val("").attr('disabled', 'disabled');
        $(".produtoId").val("");

    }
}

$(".produtoNomeId").autocomplete({
    source: function (request, response) {
        $.ajax({
            url: URL_BASE + "Produto/PesquisarProdutos",
            data: {
                tipoProdutoId: $(".tipoProdutoId").val(), termo: request.term
            },
            success: function (data) {

                response($.map(data, function (item) {
                    return {
                        id: item.ProdutoId,
                        value: item.NomeProduto,
                        valorProduto: item.ValorProduto,
                        valorMaximoProduto: item.ValorMaximoProduto,
                        numeroMinimoParticipantes: item.NumeroMinimoParticipantes,
                        numeroMaximoParticipantes: item.NumeroMaximoParticipantes
                    };
                }));

            }
        });
    },
    minLength: 3,
    select: function (event, ui) {
        $(".produtoId").val(ui.item.id.toString());
        $(".minimoVagasId").val(ui.item.numeroMinimoParticipantes.toString());
        $(".maximoVagasId").val(ui.item.numeroMaximoParticipantes.toString());
        $(".valorMinimoId").val(ui.item.valorProduto.toString());
        $(".valorMaximoId").val(ui.item.valorMaximoProduto.toString());
        $(".numeroVagasId").removeAttr("disabled");
        $(".valorId").removeAttr("disabled");
    },
    change: function (event, ui) {
        if (!ui.item) {
            $(".produtoId").val("");
            $(".produtoDependente").val("").attr("disabled");
        }
    }
});

function InformarTipoAgenda() {

    switch (parseInt($(this).val())) {

        case TipoAgendaEnum.Mestre:

            $('#AgendaMestre').addClass("hide");
            $('#AgendasFilhas').removeClass("hide").show(500);
            $('.habilitaAgendaFilha').removeAttr("disabled");
            $(".novoEndereco").parents("fieldset").removeAttr("disabled");

            break;
        case TipoAgendaEnum.Filha:

            $('#AgendaMestre').removeClass("hide");
            $('.tituloAgendaFilha').show();
            $('#AgendasFilhas').hide();
            $(".tipoAgendaHiddenId").val($(".tipoAgendaId").val());
            $('.habilitaAgendaFilha').each(function () {

                $(this).data("DateTimePicker").setDate(null);
                $(this).data("DateTimePicker").disable();

            });
            $('.horaAgendaInicioId').data("DateTimePicker").disable();
            $(".novoEndereco").parents("fieldset").attr('disabled', 'disabled');
            $('.horaAgendaFimId').data("DateTimePicker").disable();
            $('.cargaHorariaId').val(null);

            break;
        default:

            $('#AgendaMestre').addClass("hide");
            $('#AgendasFilhas').hide();
            $('.tituloAgendaFilha').hide();
            $("#AgendaMestreId").val("");
            $("#TipoProdutoMestreNome").val("");
            $(".produtoMestreNome").val("");
            $('.habilitaAgendaFilha').each(function () {

                $(this).data("DateTimePicker").enable();

            });
            $('.horaAgendaInicioId').data("DateTimePicker").enable();
            $(".novoEndereco").parents("fieldset").removeAttr("disabled");

    }

}
//#endregion SUB-ABA 1 


//#region SUB-ABA 2 AGENDA MESTRE
function FiltrarProdutosAgendaMestre() {

    $.ajax({
        url: URL_BASE + "Produto/PesquisarProdutoVinculadoAgendaMestre",
        data: {
            tipoProdutoId: $(".tipoProdutoMestreId").val(),
            property: "InformacoesBasicasViewModel.AgendaMestre.ProdutoMestreId"
        },
        success: function (result) {
            $(".produtoMestreSelectList").empty().html(result);
        }
    });

}

function CarregarAgendasMestres() {

    $.ajax({
        url: URL_BASE + "Agenda/CarregarAgendasMestres",
        data: {
            tipoProdutoMestreId: $(".tipoProdutoMestreId").val(), produtoMestreId: $(".produtoMestreId").val(), agendaMestreEscolhida: $(".agendaMestreId").val()
        },
        success: function (result) {
            $("#TableAgendasMestres").empty().html(result);
            $('#listaAgenda').slideDown(500);
        }
    });

}

function DefinirAgendaMestre() {

    if ($("input[name='selecioneAgendaMestre']:checked").length == 0) {

        $(".selecioneAgendaMestreValidate").text("Selecione pelo menos uma agenda mestre!");
        $("input[name='selecioneAgendaMestre']").change(function () {
            $(".selecioneAgendaMestreValidate").text("");
        });
        return false;
    }

    var agendaEscolhida = $("input[name='selecioneAgendaMestre']:checked").parents("tr");

    var tdList = $(agendaEscolhida).find("td").map(function () {
        return $(this).text().trim();
    });

    RemoveMsgErro($(".agendaMestreId"));

    $(".agendaMestreId").val(tdList[1]);
    $(".tipoProdutoMestreNomeId").val(tdList[2]);
    $(".produtoMestreNomeId").val(tdList[3]);

    $('#listaAgenda').hide(300);
    $('.nomeAgendaMestre').removeClass("hide");

    $('.habilitaAgendaFilha').each(function () {

        $(this).data("DateTimePicker").enable();

    });
    $('.horaAgendaInicioId').data("DateTimePicker").enable();
    $('.cargaHorariaId').val(null);

    $("#LocalRealizacao_View .subDivisaoFechada").empty().html($(agendaEscolhida).find(".viewRenderizadaLocalizacao").val());
    CepFactory();

    $(".dataRealizacaoInicialId").data("DateTimePicker").setMinDate($(agendaEscolhida).find(".dataRealizacaoInicialAgendaMestre").val());
    $(".dataRealizacaoFimId").data("DateTimePicker").setMinDate($(agendaEscolhida).find(".dataRealizacaoFimAgendaMestrem").val());

};


//#endregion SUB-ABA 2 AGENDA MESTRE


//#region SUB-ABA 3 CONFIGURAÇÃO AGENDA
$(function () {

    $(".dataRealizacaoInicialId").on("dp.change", function (e) {
        if (e.target.value) {
            $(".dataRealizacaoFimId").data("DateTimePicker").setMinDate(e.date);
            $(".dataRealizacaoFimId").data("DateTimePicker").setDate(null);
            $(".dataRealizacaoFimId").data("DateTimePicker").enable();
            $('.dataInscricaoInicialId').data("DateTimePicker").setMaxDate(moment(e.date).subtract(1, "days"));
        } else {
            $(".dataRealizacaoFimId").data('DateTimePicker').setDate(null);
            $(".dataRealizacaoFimId").data("DateTimePicker").disable();
        }
    });

    $(".dataRealizacaoFimId").on("dp.change", function (e) {
        if (e.target.value) {
            $('.dataInscricaoFimId').data("DateTimePicker").setMaxDate(e.date);
            $(".dataInscricaoInicialId").data("DateTimePicker").setDate(null);
            $(".dataInscricaoInicialId").data("DateTimePicker").enable();
            $(".dataDivulgacaoId").data("DateTimePicker").setMaxDate(e.date);
            $(".dataDivulgacaoId").data("DateTimePicker").enable();
            DistribuirDatas();
        } else {
            $(".dataInscricaoInicialId").data('DateTimePicker').setDate(null);
            $(".dataInscricaoInicialId").data("DateTimePicker").disable();
            $(".dataDivulgacaoId").data("DateTimePicker").setMaxDate(null);
            $(".dataDivulgacaoId").data("DateTimePicker").setDate(null);
            $(".dataDivulgacaoId").data("DateTimePicker").disable();
        }
    });

    $(".dataInscricaoInicialId").on("dp.change", function (e) {
        if (e.target.value) {
            $('.dataInscricaoFimId').data("DateTimePicker").setMinDate(e.date);
            $(".dataInscricaoFimId").data("DateTimePicker").setDate(null);
            $(".dataInscricaoFimId").data("DateTimePicker").enable();
        } else {
            $(".dataInscricaoFimId").data('DateTimePicker').setDate(null);
            $(".dataInscricaoFimId").data("DateTimePicker").disable();
        }
    });

    $(".horaAgendaInicioId").on("dp.change", function (e) {
        if (e.target.value) {
            $(".horaAgendaFimId").data("DateTimePicker").enable();
        } else {
            $(".horaAgendaFimId").data("DateTimePicker").disable();
        }
    });

});

function ValidarNumeroVagas() {

    ValidarRangeValor($(".minimoVagasId").val(), $(".maximoVagasId").val(), event.target, MensagensErro.ValidacaoNumeroVagas);

}

function ValidarValorProduto() {

    ValidarRangeValor($(".valorMinimoId").val().replace(",", "."), $(".valorMaximoId").val().replace(",", "."), event.target, MensagensErro.ValidacaoValorProduto);

}
//#endregion SUB-ABA 3 CONFIGURAÇÃO AGENDA


//#Region ENDEREÇO
function PesquisarCidadesPorEstado() {
    var value = $(event.target).val();
    $.ajax({
        url: URL_BASE + "Cidade/PesquisarCidadesPorEstado",
        data: {
            estadoId: value
        },
        success: function (result) {
            $("#CidadeSelectListList").empty().html(result);
            if ($(".cidadeId").find("option").length == 1)
                $(".cidadeId").attr('disabled', 'disabled');
            $(".cidadeId").change(PesquisarBairrosPorCidade);
        }
    });
}

function PesquisarBairrosPorCidade() {
 
    var value = $(event.target).val();
    $.ajax({
        url: URL_BASE + "Bairro/PesquisarBairrosPorCidade",
        data: {
            cidadeId: value
        },
        success: function (result) {
            $("#BairroSelectListList").empty().html(result);
            if ($(".bairroId").find("option").length == 1)
                $(".bairroId").attr('disabled', 'disabled');
            // $("#BairroId").change(PesquisarBairrosPorCidade);
            
        }
    });
}

function PesquisarCep() {
    //$(".divLoading").show();
    $.ajax({
        url: URL_BASE + "Cep/PesquisarCep",
        data: {
            cepId: $(".cepId").val().replace('-', '')
        },
        success: function (result) {
            $("#LocalRealizacao_View").empty().html(result);
            CepFactory();
            //
        }
    });
}
//#endregion ENDEREÇO


//#region SUB-ABA OUTRAS INFORMAÇÕES
function ListarMeiosDivulgacao() {

    if (this.checked) {
        $('.listaDivulgada').slideDown(300);
    } else {
        $('.listaDivulgada').hide();
        $(".listaDivulgada input:checked").attr("checked", false);
    }

}
//#endregion SUB-ABA OUTRAS INFORMAÇÕES


//#region SUB-ABA DISTRIBUIÇÃO DATAS
function DistribuirDatas() {

    //var range = moment.range(moment($(".dataRealizacaoInicial").val(), "DD-MM-YYYY"), moment($(".dataRealizacaoFim").val(), "DD-MM-YYYY"));

    //var rangeArray = range.toArray('days');

    $.ajax({
        url: URL_BASE + "DistribuicaoDatas/CarregarDistribuicaoDatas",
        data: {
            dataInicial: new Date(moment($(".dataRealizacaoInicialId").val(), "DD/MM/YYYY")).toUTCString(), dataFinal: new Date(moment($(".dataRealizacaoFimId").val(), "DD/MM/YYYY")).toUTCString()
        },
        success: function (result) {
            $("#TabelaDistribuicaoDatas").empty().html(result);
            SimpleDatetimepickerFactory();
            $("#DistribuicaoDatas").removeClass("hide");
            setTimeout($("#DistribuicaoDatas .disabledDate").each(function () {

                if (IsNullOrUndefined($(this).val())) {
                    $(this).data("DateTimePicker").disable();
                }

            }), 1000);
            $("#DistribuicaoDatas [type='checkbox']").change(HabilitarInsercaoHorario);
        }
    });

}

function HabilitarInsercaoHorario() {

    var el = event.target;

    if ($(el).is(':checked')) {

        $(el).parents("tr").find(":disabled").each(function () {

            $(this).data("DateTimePicker").enable();

        });

    } else {

        $(el).parents("tr").find(".timePicker").each(function () {

            $(this).data("DateTimePicker").setDate(null);
            $(this).data("DateTimePicker").disable();

        });

    }

}

//#endregion SUB-ABA DISTRIBUIÇÃO DATAS